<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GPL: gpl::xml类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="coffee_bean_77.268292682927px_1164279_easyicon.net.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">GPL
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="pages.html"><span>相关页面</span></a></li>
      <li><a href="namespaces.html"><span>命名空间</span></a></li>
      <li class="current"><a href="annotated.html"><span>类</span></a></li>
      <li><a href="files.html"><span>文件</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>类列表</span></a></li>
      <li><a href="classes.html"><span>类索引</span></a></li>
      <li><a href="functions.html"><span>类成员</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacegpl.html">gpl</a></li><li class="navelem"><a class="el" href="classgpl_1_1xml.html">xml</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classgpl_1_1xml-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">gpl::xml类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>XML文档处理类  
 <a href="classgpl_1_1xml.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="xml_8h_source.html">xml.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:abfca0a27d3d13cf517461bec03e973d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> ()</td></tr>
<tr class="memdesc:abfca0a27d3d13cf517461bec03e973d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">构造函数  <a href="#abfca0a27d3d13cf517461bec03e973d8">更多...</a><br /></td></tr>
<tr class="separator:abfca0a27d3d13cf517461bec03e973d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a912fdf91ccb38361957d0474be7ded03"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a912fdf91ccb38361957d0474be7ded03">~xml</a> ()</td></tr>
<tr class="memdesc:a912fdf91ccb38361957d0474be7ded03"><td class="mdescLeft">&#160;</td><td class="mdescRight">析构函数  <a href="#a912fdf91ccb38361957d0474be7ded03">更多...</a><br /></td></tr>
<tr class="separator:a912fdf91ccb38361957d0474be7ded03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a652424917641945a6ff30ef796792443"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a652424917641945a6ff30ef796792443">openXPath</a> (const std::string &amp;fileName, int blank=1)</td></tr>
<tr class="memdesc:a652424917641945a6ff30ef796792443"><td class="mdescLeft">&#160;</td><td class="mdescRight">打开并解析xml文档  <a href="#a652424917641945a6ff30ef796792443">更多...</a><br /></td></tr>
<tr class="separator:a652424917641945a6ff30ef796792443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1529fa8bca2e13e09f004393681c2394"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a1529fa8bca2e13e09f004393681c2394">openXPath</a> (const char *fileName, int blank=1)</td></tr>
<tr class="memdesc:a1529fa8bca2e13e09f004393681c2394"><td class="mdescLeft">&#160;</td><td class="mdescRight">打开并解析xml文档  <a href="#a1529fa8bca2e13e09f004393681c2394">更多...</a><br /></td></tr>
<tr class="separator:a1529fa8bca2e13e09f004393681c2394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5fc1b311824ff62a37efe5ecb17ec07"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#af5fc1b311824ff62a37efe5ecb17ec07">openBufferXPath</a> (const char *buffer, int size=-1, int blank=1)</td></tr>
<tr class="memdesc:af5fc1b311824ff62a37efe5ecb17ec07"><td class="mdescLeft">&#160;</td><td class="mdescRight">打开并解析缓冲中的xml文档  <a href="#af5fc1b311824ff62a37efe5ecb17ec07">更多...</a><br /></td></tr>
<tr class="separator:af5fc1b311824ff62a37efe5ecb17ec07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9a13758e0c526858768b69f1691e531"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#af9a13758e0c526858768b69f1691e531">closeXPath</a> ()</td></tr>
<tr class="memdesc:af9a13758e0c526858768b69f1691e531"><td class="mdescLeft">&#160;</td><td class="mdescRight">关闭并释放xml文档  <a href="#af9a13758e0c526858768b69f1691e531">更多...</a><br /></td></tr>
<tr class="separator:af9a13758e0c526858768b69f1691e531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4be83f9c21b3aadeb36a88a28c5e3df6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a4be83f9c21b3aadeb36a88a28c5e3df6">setXPath</a> (const char *xpath)</td></tr>
<tr class="memdesc:a4be83f9c21b3aadeb36a88a28c5e3df6"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置XPATH  <a href="#a4be83f9c21b3aadeb36a88a28c5e3df6">更多...</a><br /></td></tr>
<tr class="separator:a4be83f9c21b3aadeb36a88a28c5e3df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e50213d0746cebfedd81ca21222582a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a0e50213d0746cebfedd81ca21222582a">getXPathResultSet</a> (std::multimap&lt; std::string, std::string &gt; &amp;resultSet)</td></tr>
<tr class="memdesc:a0e50213d0746cebfedd81ca21222582a"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回当前XPATH所查询的结果集  <a href="#a0e50213d0746cebfedd81ca21222582a">更多...</a><br /></td></tr>
<tr class="separator:a0e50213d0746cebfedd81ca21222582a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c943bf75ebed019ed6fdf93716007a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a5c943bf75ebed019ed6fdf93716007a6">getXPathResultSet</a> (const char *xpath, std::multimap&lt; std::string, std::string &gt; &amp;resultSet)</td></tr>
<tr class="memdesc:a5c943bf75ebed019ed6fdf93716007a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回当前XPATH所查询的结果集  <a href="#a5c943bf75ebed019ed6fdf93716007a6">更多...</a><br /></td></tr>
<tr class="separator:a5c943bf75ebed019ed6fdf93716007a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a219d63ef6c84eee440b063ccdce4265b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a219d63ef6c84eee440b063ccdce4265b">getEntityValue</a> (const std::string &amp;entName, std::map&lt; std::string, std::string &gt; &amp;props)</td></tr>
<tr class="memdesc:a219d63ef6c84eee440b063ccdce4265b"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取指定的实体相关属性  <a href="#a219d63ef6c84eee440b063ccdce4265b">更多...</a><br /></td></tr>
<tr class="separator:a219d63ef6c84eee440b063ccdce4265b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac570b83f537588b4680d976d4c7ee905"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#ac570b83f537588b4680d976d4c7ee905">insertNodeByXPath</a> (const char *nodeName, const char *nodeValue, int length=-1)</td></tr>
<tr class="memdesc:ac570b83f537588b4680d976d4c7ee905"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面插入一个子节点.  <a href="#ac570b83f537588b4680d976d4c7ee905">更多...</a><br /></td></tr>
<tr class="separator:ac570b83f537588b4680d976d4c7ee905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab86bfea9245abb43e2dfcf5cbcf68da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#aab86bfea9245abb43e2dfcf5cbcf68da">insertNodeByXPath</a> (const char *xpath, const char *nodeName, const char *nodeValue, int length=-1)</td></tr>
<tr class="memdesc:aab86bfea9245abb43e2dfcf5cbcf68da"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面插入一个子节点.  <a href="#aab86bfea9245abb43e2dfcf5cbcf68da">更多...</a><br /></td></tr>
<tr class="separator:aab86bfea9245abb43e2dfcf5cbcf68da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5b23f93ed6c45aee218555457a9ea72"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#ae5b23f93ed6c45aee218555457a9ea72">insertPropertyByXPath</a> (const char *propName, const char *propValue, int length=-1)</td></tr>
<tr class="memdesc:ae5b23f93ed6c45aee218555457a9ea72"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面插入一个节点的属性.  <a href="#ae5b23f93ed6c45aee218555457a9ea72">更多...</a><br /></td></tr>
<tr class="separator:ae5b23f93ed6c45aee218555457a9ea72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a4e3ac1cac9048ba654ddfc1ad6c45"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a43a4e3ac1cac9048ba654ddfc1ad6c45">insertPropertyByXPath</a> (const char *xpath, const char *propName, const char *propValue, int length=-1)</td></tr>
<tr class="memdesc:a43a4e3ac1cac9048ba654ddfc1ad6c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面插入一个节点的属性.  <a href="#a43a4e3ac1cac9048ba654ddfc1ad6c45">更多...</a><br /></td></tr>
<tr class="separator:a43a4e3ac1cac9048ba654ddfc1ad6c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24b3e5a366992b35bb49e9c338468ce0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a24b3e5a366992b35bb49e9c338468ce0">updateNodeByXPath</a> (const char *nodeName, const char *nodeValue, int length=-1)</td></tr>
<tr class="memdesc:a24b3e5a366992b35bb49e9c338468ce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面更新一个节点.  <a href="#a24b3e5a366992b35bb49e9c338468ce0">更多...</a><br /></td></tr>
<tr class="separator:a24b3e5a366992b35bb49e9c338468ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a002afd7a9920042ab3297d9a99fa9f14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a002afd7a9920042ab3297d9a99fa9f14">updateNodeByXPath</a> (const char *xpath, const char *nodeName, const char *nodeValue, int length=-1)</td></tr>
<tr class="memdesc:a002afd7a9920042ab3297d9a99fa9f14"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面更新一个节点.  <a href="#a002afd7a9920042ab3297d9a99fa9f14">更多...</a><br /></td></tr>
<tr class="separator:a002afd7a9920042ab3297d9a99fa9f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12f8e0938dce911b64c332887e803d7d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a12f8e0938dce911b64c332887e803d7d">updatePropertyByXPath</a> (const char *propName, const char *propValue, int length=-1)</td></tr>
<tr class="memdesc:a12f8e0938dce911b64c332887e803d7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面更新一个节点的属性.  <a href="#a12f8e0938dce911b64c332887e803d7d">更多...</a><br /></td></tr>
<tr class="separator:a12f8e0938dce911b64c332887e803d7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47571922a9d10a6e9fb9713a8ede7fd0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a47571922a9d10a6e9fb9713a8ede7fd0">updatePropertyByXPath</a> (const char *xpath, const char *propName, const char *propValue, int length=-1)</td></tr>
<tr class="memdesc:a47571922a9d10a6e9fb9713a8ede7fd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面更新一个节点的属性.  <a href="#a47571922a9d10a6e9fb9713a8ede7fd0">更多...</a><br /></td></tr>
<tr class="separator:a47571922a9d10a6e9fb9713a8ede7fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83b4333d0421bcdd348f557626b74e85"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a83b4333d0421bcdd348f557626b74e85">eraseNodeByXPath</a> ()</td></tr>
<tr class="memdesc:a83b4333d0421bcdd348f557626b74e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面删除最后一个节点树.  <a href="#a83b4333d0421bcdd348f557626b74e85">更多...</a><br /></td></tr>
<tr class="separator:a83b4333d0421bcdd348f557626b74e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94e0e1914dfa5e82bf4cf4656c572556"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a94e0e1914dfa5e82bf4cf4656c572556">eraseNodeByXPath</a> (const char *xpath)</td></tr>
<tr class="memdesc:a94e0e1914dfa5e82bf4cf4656c572556"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面删除最后一个节点树.  <a href="#a94e0e1914dfa5e82bf4cf4656c572556">更多...</a><br /></td></tr>
<tr class="separator:a94e0e1914dfa5e82bf4cf4656c572556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633a2e5cf5449c069264b0ce43fd4faf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a633a2e5cf5449c069264b0ce43fd4faf">erasePropertyByXPath</a> (const char *propName)</td></tr>
<tr class="memdesc:a633a2e5cf5449c069264b0ce43fd4faf"><td class="mdescLeft">&#160;</td><td class="mdescRight">在当前XPATH下面删除一个节点的属性  <a href="#a633a2e5cf5449c069264b0ce43fd4faf">更多...</a><br /></td></tr>
<tr class="separator:a633a2e5cf5449c069264b0ce43fd4faf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71c3b4ededf2457f80bc4b90b8ab0d63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a71c3b4ededf2457f80bc4b90b8ab0d63">erasePropertyByXPath</a> (const char *xpath, const char *propName)</td></tr>
<tr class="memdesc:a71c3b4ededf2457f80bc4b90b8ab0d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">在指定的XPATH下面删除一个节点的属性.  <a href="#a71c3b4ededf2457f80bc4b90b8ab0d63">更多...</a><br /></td></tr>
<tr class="separator:a71c3b4ededf2457f80bc4b90b8ab0d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76d677383096c9a148929967bad4dd27"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a76d677383096c9a148929967bad4dd27">saveXmlToFileXPath</a> (const char *fname=&quot;&quot;, const char *encoding=&quot;&quot;, int format=1)</td></tr>
<tr class="memdesc:a76d677383096c9a148929967bad4dd27"><td class="mdescLeft">&#160;</td><td class="mdescRight">保存xml数据到文件中  <a href="#a76d677383096c9a148929967bad4dd27">更多...</a><br /></td></tr>
<tr class="separator:a76d677383096c9a148929967bad4dd27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecc581c8a0161089f1469b44a1424db9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#aecc581c8a0161089f1469b44a1424db9">saveXmlToBufferXPath</a> (std::string &amp;buffStr, const char *encoding=&quot;&quot;, int format=1)</td></tr>
<tr class="memdesc:aecc581c8a0161089f1469b44a1424db9"><td class="mdescLeft">&#160;</td><td class="mdescRight">保存xml数据输出到buff内存中  <a href="#aecc581c8a0161089f1469b44a1424db9">更多...</a><br /></td></tr>
<tr class="separator:aecc581c8a0161089f1469b44a1424db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf9a9c52c234b5823b89e801d9a644f9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#adf9a9c52c234b5823b89e801d9a644f9">dumpXPath</a> (FILE *f=stdout)</td></tr>
<tr class="memdesc:adf9a9c52c234b5823b89e801d9a644f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">将xml文件导出到指定的文件流  <a href="#adf9a9c52c234b5823b89e801d9a644f9">更多...</a><br /></td></tr>
<tr class="separator:adf9a9c52c234b5823b89e801d9a644f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee93f282b78e939be1f2547be5a56ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#abee93f282b78e939be1f2547be5a56ff">createXml</a> (std::string name=&quot;&quot;, std::string url=&quot;&quot;)</td></tr>
<tr class="memdesc:abee93f282b78e939be1f2547be5a56ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建xml文档  <a href="#abee93f282b78e939be1f2547be5a56ff">更多...</a><br /></td></tr>
<tr class="separator:abee93f282b78e939be1f2547be5a56ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a524aa93f951b5570bf3a42ca9a405656"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a524aa93f951b5570bf3a42ca9a405656">addElement</a> (std::string par, std::string name, std::string v=&quot;&quot;)</td></tr>
<tr class="memdesc:a524aa93f951b5570bf3a42ca9a405656"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建元素  <a href="#a524aa93f951b5570bf3a42ca9a405656">更多...</a><br /></td></tr>
<tr class="separator:a524aa93f951b5570bf3a42ca9a405656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8aa82a65e711d0657ae27f3a2ebafe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a7e8aa82a65e711d0657ae27f3a2ebafe">addAttribute</a> (std::string par, std::string name, std::string v)</td></tr>
<tr class="memdesc:a7e8aa82a65e711d0657ae27f3a2ebafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建元素属性  <a href="#a7e8aa82a65e711d0657ae27f3a2ebafe">更多...</a><br /></td></tr>
<tr class="separator:a7e8aa82a65e711d0657ae27f3a2ebafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18682a529eda2eb64b5907a91ef4cbde"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a18682a529eda2eb64b5907a91ef4cbde">saveXmlToFile</a> (std::string filename, std::string encode)</td></tr>
<tr class="memdesc:a18682a529eda2eb64b5907a91ef4cbde"><td class="mdescLeft">&#160;</td><td class="mdescRight">保存xml数据为文件  <a href="#a18682a529eda2eb64b5907a91ef4cbde">更多...</a><br /></td></tr>
<tr class="separator:a18682a529eda2eb64b5907a91ef4cbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e119696c79c560c5d5f3eabf3e21a8a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#a6e119696c79c560c5d5f3eabf3e21a8a">saveXmlToBuffer</a> (std::string &amp;src)</td></tr>
<tr class="memdesc:a6e119696c79c560c5d5f3eabf3e21a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">保存xml数据为内存  <a href="#a6e119696c79c560c5d5f3eabf3e21a8a">更多...</a><br /></td></tr>
<tr class="separator:a6e119696c79c560c5d5f3eabf3e21a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:ac104bfabf19926674bb65c205f5e4480"><td class="memItemLeft" align="right" valign="top">LibXml *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgpl_1_1xml.html#ac104bfabf19926674bb65c205f5e4480">m_xml</a></td></tr>
<tr class="separator:ac104bfabf19926674bb65c205f5e4480"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>XML文档处理类 </p>
<dl class="section author"><dt>作者</dt><dd>DayBreakZhang(<a href="#" onclick="location.href='mai'+'lto:'+'a36'+'53'+'164'+'65'+'@gm'+'ai'+'l.c'+'om'; return false;">a3653<span style="display: none;">.nosp@m.</span>1646<span style="display: none;">.nosp@m.</span>5@gma<span style="display: none;">.nosp@m.</span>il.c<span style="display: none;">.nosp@m.</span>om</a>) </dd></dl>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 10:53 </dd></dl>
<dl class="section user"><dt>XPATH简述</dt><dd><div class="fragment"><div class="line">XPATH结构：/step/step/...</div><div class="line">其中step的结构为：axis::node-test[prediates]</div><div class="line">axis：关键字，有且仅有一个，它表示结果节点与上下文节点的关系，有如下的值：</div><div class="line">ancestor,ancestor-or-<span class="keyword">self</span>,attribute,child,descendant,descendant-or-<span class="keyword">self</span>,following,</div><div class="line">following-sibling,<span class="keyword">namespace</span>,parent,preceding,preceding-sibling,<span class="keyword">self</span></div><div class="line">可以省略，默认值为child</div><div class="line"><span class="stringliteral">&quot;attribute::&quot;</span>可以简写为<span class="stringliteral">&quot;@&quot;</span></div><div class="line">node-test：节点测试，有且仅有一个，它表示结果节点的类型或名称：</div><div class="line">当axis=attribute时为属性名称；</div><div class="line">当axis=namespace时为命名空间名称；</div><div class="line">当axis=其他时为元素名称或常规测试：text(),comment()</div><div class="line">text()     为测试打印其文本节点值</div><div class="line">comment()  为测试打印其注释节点值</div><div class="line">prediates：谓词，零到多个，它可以是用于限制结果的任意表达式</div></div><!-- fragment --> </dd></dl>
<dl class="section user"><dt>XPATH例子</dt><dd><div class="fragment"><div class="line">@*</div><div class="line">选择当前节点的所有属性</div><div class="line">para[1] 等效于 para[position()=1]</div><div class="line">选择当前节点下的第1个节点名称为para的元素</div><div class="line">para[last()] 等效于 para[position()=last()]</div><div class="line">选择当前节点下的最后一个节点名称为para的元素</div><div class="line">/doc/chapter[5]/section[2]</div><div class="line">选择第5个名称为chapter的节点下的第2个名称为section的节点</div><div class="line">para[@type=<span class="stringliteral">&quot;warning&quot;</span>]</div><div class="line">选择当前节点下含有属性type的内容为warning的节点，并且节点名称为para</div><div class="line">para[@type=<span class="stringliteral">&quot;warning&quot;</span>][5]</div><div class="line">选择当前节点下含有属性type的内容为warning的节点，并且是第5个名称为para的节点</div><div class="line">chapter[title]</div><div class="line">选择当前节点下含有title节点且名称为chapter的所有的节点</div><div class="line">employee[@secretary and @assistant]</div><div class="line">选择当前节点下含有secretary属性和assistant属性且名称为employee的所有节点</div><div class="line"></div><div class="line">说明如下：</div><div class="line">/EXAMPLE/chapter/image[1]/attribute::*</div><div class="line">/EXAMPLE/chapter/image[1]/@*</div><div class="line">返回所有image[1]节点中属性:</div><div class="line">{<span class="stringliteral">&quot;href&quot;</span>,<span class="stringliteral">&quot;linus.gif&quot;</span>}</div><div class="line">{<span class="stringliteral">&quot;width&quot;</span>,<span class="stringliteral">&quot;230&quot;</span>}</div><div class="line"></div><div class="line">/EXAMPLE/chapter/image[1]/attribute::href</div><div class="line">/EXAMPLE/chapter/image[1]/@href</div><div class="line">只返回image[1]节点中属性名称为href的属性内容:</div><div class="line">{<span class="stringliteral">&quot;href&quot;</span>,<span class="stringliteral">&quot;linus.gif&quot;</span>}</div><div class="line"></div><div class="line">/child::EXAMPLE/child::chapter[1]/child::title[2]/child::text()</div><div class="line">/EXAMPLE/chapter[1]/title[2]/text()</div><div class="line">返回title[2]的文本节点:</div><div class="line">{<span class="stringliteral">&quot;text&quot;</span>,<span class="stringliteral">&quot;The Linux adventure2&quot;</span>}</div><div class="line"></div><div class="line">/child::EXAMPLE/child::chapter[1]/child::title</div><div class="line">/EXAMPLE/chapter[1]/title</div><div class="line">返回/EXAMPLE/chapter下所有名称为title的节点:</div><div class="line">{<span class="stringliteral">&quot;title&quot;</span>,<span class="stringliteral">&quot;The Linux adventure1&quot;</span>}</div><div class="line">{<span class="stringliteral">&quot;title&quot;</span>,<span class="stringliteral">&quot;The Linux adventure2&quot;</span>}</div><div class="line"></div><div class="line">/EXAMPLE/chapter/image[2]/child::comment()</div><div class="line">/EXAMPLE/chapter/image[2]/comment()</div><div class="line">返回/EXAMPLE/chapter/image[2]下所有的注释节点:</div><div class="line">{<span class="stringliteral">&quot;comment&quot;</span>,<span class="stringliteral">&quot;comment1 fffffffffffffffff&quot;</span>}</div><div class="line">{<span class="stringliteral">&quot;comment&quot;</span>,<span class="stringliteral">&quot;comment2 asadfdfdfdf&quot;</span>}</div><div class="line"></div><div class="line">/EXAMPLE/indb/dbname</div><div class="line">返回内容:</div><div class="line">{<span class="stringliteral">&quot;dbname&quot;</span>,<span class="stringliteral">&quot;gprs&quot;</span>}</div><div class="line"></div><div class="line">/EXAMPLE/indb/dbpassword</div><div class="line">返回内容:</div><div class="line">{<span class="stringliteral">&quot;dbpassword&quot;</span>,<span class="stringliteral">&quot;gprs123&quot;</span>}</div></div><!-- fragment --></dd></dl>
<dl class="section user"><dt>xml实例</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">string</span> xpath,fname,entName,tmpStr;</div><div class="line">Xml xmlApi;</div><div class="line">multimap&lt;string,string&gt; resultSet;</div><div class="line">map&lt;string,string&gt; props;</div><div class="line"></div><div class="line"><span class="keywordflow">if</span>(<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.open(fname)==<span class="keyword">false</span>)</div><div class="line">{</div><div class="line">cerr&lt;&lt;<span class="stringliteral">&quot;ERROR:open file:&quot;</span>&lt;&lt;fname&lt;&lt;endl;</div><div class="line">exit(-1);</div><div class="line">}</div><div class="line"><span class="keywordflow">if</span>(<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.getEntityValue(entName,props)==<span class="keyword">false</span>)</div><div class="line">cerr&lt;&lt;<span class="stringliteral">&quot;ERROR: Entity &quot;</span>&lt;&lt;entName&lt;&lt;<span class="stringliteral">&quot; does not exist!&quot;</span>&lt;&lt;endl;</div><div class="line"><span class="keywordflow">if</span>(<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.setXPath(xpath.c_str())==<span class="keyword">false</span>)</div><div class="line">{</div><div class="line">cerr&lt;&lt;<span class="stringliteral">&quot;ERROR:setXPath!&quot;</span>&lt;&lt;endl;</div><div class="line"><a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.close();</div><div class="line">exit(0);</div><div class="line">}</div><div class="line"><span class="keywordflow">if</span>(<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.getXPathResultSet(resultSet)==<span class="keyword">false</span>)</div><div class="line">cerr&lt;&lt;<span class="stringliteral">&quot;ERROR:can&#39;t get!&quot;</span>&lt;&lt;endl;</div><div class="line"><a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a>.close();</div></div><!-- fragment --> </dd></dl>
<dl class="section attention"><dt>注意</dt><dd>注意 </dd></dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000004">Bug:</a></b></dt><dd>问题 </dd></dl>
<dl class="section warning"><dt>警告</dt><dd>警告 </dd></dl>
<dl class="section note"><dt>注解</dt><dd>无 </dd></dl>

<p>在文件 <a class="el" href="xml_8h_source.html">xml.h</a> 第 <a class="el" href="xml_8h_source.html#l00134">134</a> 行定义.</p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a class="anchor" id="abfca0a27d3d13cf517461bec03e973d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gpl::xml::xml </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>构造函数 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:28 </dd></dl>

</div>
</div>
<a class="anchor" id="a912fdf91ccb38361957d0474be7ded03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual gpl::xml::~xml </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>析构函数 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:28 </dd></dl>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a class="anchor" id="a7e8aa82a65e711d0657ae27f3a2ebafe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::addAttribute </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>par</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>创建元素属性 </p>
<dl class="section date"><dt>日期</dt><dd>2016/07/06 16:28 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">par[string]要添加属性的位置，遵循xpaht语法</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name[string]</td><td>属性名字 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v[string]属性值</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true，否则为false </dd></dl>
<dl class="section pre"><dt>前置条件</dt><dd>段落 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>评论 </dd></dl>
<dl class="section see"><dt>参见</dt><dd>参考内容 </dd></dl>
<dl class="test"><dt><b><a class="el" href="test.html#_test000020">测试:</a></b></dt><dd>测试 </dd></dl>

</div>
</div>
<a class="anchor" id="a524aa93f951b5570bf3a42ca9a405656"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::addElement </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>par</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>v</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>创建元素 </p>
<dl class="section date"><dt>日期</dt><dd>2016/07/06 16:28 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">par[string]要添加节点的位置，遵循xpaht语法</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name[string]</td><td>节点名字 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v[string]节点值，可以为空</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true，否则为false </dd></dl>
<dl class="section pre"><dt>前置条件</dt><dd>段落 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>评论 </dd></dl>
<dl class="section see"><dt>参见</dt><dd>参考内容 </dd></dl>
<dl class="test"><dt><b><a class="el" href="test.html#_test000019">测试:</a></b></dt><dd>测试 </dd></dl>

</div>
</div>
<a class="anchor" id="af9a13758e0c526858768b69f1691e531"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gpl::xml::closeXPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>关闭并释放xml文档 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>

</div>
</div>
<a class="anchor" id="abee93f282b78e939be1f2547be5a56ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::createXml </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>url</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>创建xml文档 </p>
<dl class="section date"><dt>日期</dt><dd>2016/07/06 16:28 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name[string]</td><td>root节点名字 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">url[string]</td><td>root节点的命名空间 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true，否则为false </dd></dl>
<dl class="section pre"><dt>前置条件</dt><dd>段落 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>评论 </dd></dl>
<dl class="section see"><dt>参见</dt><dd>参考内容 </dd></dl>
<dl class="test"><dt><b><a class="el" href="test.html#_test000018">测试:</a></b></dt><dd>测试 </dd></dl>

</div>
</div>
<a class="anchor" id="adf9a9c52c234b5823b89e801d9a644f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::dumpXPath </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>f</em> = <code>stdout</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>将xml文件导出到指定的文件流 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">f[FILE*]文件指针,可以是stdin,stdout,stderr</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true,否则false; </dd></dl>

</div>
</div>
<a class="anchor" id="a83b4333d0421bcdd348f557626b74e85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::eraseNodeByXPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面删除最后一个节点树. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认删除第一个位置的节点树,否则就插入指定的节点树 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#a83b4333d0421bcdd348f557626b74e85">eraseNodeByXPath</a>();</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </li>
</ul>
</dd></dl>
<dl class="section return"><dt>返回</dt><dd>删除成功返回true,否则返回false;若该节点树不存在,返回false! </dd></dl>

</div>
</div>
<a class="anchor" id="a94e0e1914dfa5e82bf4cf4656c572556"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::eraseNodeByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面删除最后一个节点树. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认删除第一个位置的节点树,否则就插入指定的节点树 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#a83b4333d0421bcdd348f557626b74e85">eraseNodeByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>删除成功返回true,否则返回false;若该节点树不存在,返回false! </dd></dl>

</div>
</div>
<a class="anchor" id="a633a2e5cf5449c069264b0ce43fd4faf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::erasePropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面删除一个节点的属性 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#a633a2e5cf5449c069264b0ce43fd4faf">erasePropertyByXPath</a>(<span class="stringliteral">&quot;subhead&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;head&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>删除成功返回true,否则返回false;若该属性不存在,返回false! </dd></dl>

</div>
</div>
<a class="anchor" id="a71c3b4ededf2457f80bc4b90b8ab0d63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::erasePropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面删除一个节点的属性. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#a633a2e5cf5449c069264b0ce43fd4faf">erasePropertyByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>,<span class="stringliteral">&quot;subhead&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;head&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>删除成功返回true,否则返回false;若该属性不存在,返回false! </dd></dl>

</div>
</div>
<a class="anchor" id="a219d63ef6c84eee440b063ccdce4265b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::getEntityValue </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>entName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>props</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>读取指定的实体相关属性 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">entName[string]要查询的实体名</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">props[map&lt;string,string&gt;]entName对应的实体属性,包括：</td><td><ul>
<li>ETYPE: 实体的类型</li>
<li>ID: PUBLIC的外部标识</li>
<li>SYSTEM: PUBLIC,SYSTEM实体的url路径</li>
<li>ORIG: 实体引用没有被替换的内容</li>
<li>CONTENT:没有解析时的内容或数据 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>返回结果<ul>
<li>true:成功;</li>
<li>false:失败; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a0e50213d0746cebfedd81ca21222582a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::getXPathResultSet </td>
          <td>(</td>
          <td class="paramtype">std::multimap&lt; std::string, std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>resultSet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>返回当前XPATH所查询的结果集 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">resultSet[multimap&lt;string,string&gt;]XPATH所查询的结果集</td><td><ul>
<li>第一个string为节点名称,属性名称,text,comment中的一种</li>
<li>第二个string为节点名称对应的文本节点内容,属性名对应的属性内容,注释内容中的一种 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>返回结果<ul>
<li>true:成功;</li>
<li>false:失败; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a5c943bf75ebed019ed6fdf93716007a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::getXPathResultSet </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::multimap&lt; std::string, std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>resultSet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>返回当前XPATH所查询的结果集 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">resultSet[multimap&lt;string,string&gt;]XPATH所查询的结果集</td><td><ul>
<li>第一个string为节点名称,属性名称,text,comment中的一种</li>
<li>第二个string为节点名称对应的文本节点内容,属性名对应的属性内容,注释内容中的一种 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>返回结果<ul>
<li>true:成功;</li>
<li>false:失败; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ac570b83f537588b4680d976d4c7ee905"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::insertNodeByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面插入一个子节点. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认插入第一个位置的下面,并且子节点在所有子节点的最后面,否则就插入指定的位置下面 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#ac570b83f537588b4680d976d4c7ee905">insertNodeByXPath</a>(<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;subhead&gt;hello&lt;/subhead&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --></li>
<li>若该节点名称为空则插入一个文本节点(即nodeValue),若已经存在文本节点,则会追加到第一个文本节点上,然后返回true;</li>
<li>若该节点名称为"&lt;![CDATA[]]&gt;"则插入一个CDATA段的字符节点(即nodeValue),若已经存在CDATA段,则会追加到第一个文本节点上,然后返回true; </li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeName[char*]节点名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeValue[char*]节点的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]nodeValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>若该节点名称非空则插入一个节点(即nodeName),若已经存在该节点,则返回false,否则返回true; </dd></dl>

</div>
</div>
<a class="anchor" id="aab86bfea9245abb43e2dfcf5cbcf68da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::insertNodeByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面插入一个子节点. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认插入第一个位置的下面,并且子节点在所有子节点的最后面,否则就插入指定的位置下面 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#ac570b83f537588b4680d976d4c7ee905">insertNodeByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>,<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>)</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;subhead&gt;hello&lt;/subhead&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --></li>
<li>若该节点名称为空则插入一个文本节点(即nodeValue),若已经存在文本节点,则会追加到第一个文本节点上,然后返回true;</li>
<li>若该节点名称为"&lt;![CDATA[]]&gt;"则插入一个CDATA段的字符节点(即nodeValue),若已经存在CDATA段,则会追加到第一个文本节点上,然后返回true; </li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeName[char*]节点名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeValue[char*]节点的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]nodeValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>若该节点名称非空则插入一个节点(即nodeName),若已经存在该节点,则返回false,否则返回true; </dd></dl>

</div>
</div>
<a class="anchor" id="ae5b23f93ed6c45aee218555457a9ea72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::insertPropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面插入一个节点的属性. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#ae5b23f93ed6c45aee218555457a9ea72">insertPropertyByXPath</a>(<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hello&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propValue[char*]属性的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]propValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>若该属性名称已经存在,则返回false,否则处理成功返回true; </dd></dl>

</div>
</div>
<a class="anchor" id="a43a4e3ac1cac9048ba654ddfc1ad6c45"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::insertPropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面插入一个节点的属性. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#ae5b23f93ed6c45aee218555457a9ea72">insertPropertyByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>,<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hello&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propValue[char*]属性值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]propValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>若该属性名称已经存在,则返回false,否则处理成功返回true; </dd></dl>

</div>
</div>
<a class="anchor" id="af5fc1b311824ff62a37efe5ecb17ec07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::openBufferXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blank</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>打开并解析缓冲中的xml文档 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer[char*]内存是buffer</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size[int]buffer大小</td><td></td></tr>
    <tr><td class="paramdir"></td><td class="paramname"></td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a652424917641945a6ff30ef796792443"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::openXPath </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blank</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>打开并解析xml文档 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fileName[string]解析xml文档路径</td><td></td></tr>
    <tr><td class="paramdir"></td><td class="paramname"></td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1529fa8bca2e13e09f004393681c2394"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::openXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blank</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>打开并解析xml文档 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fileName[char*]解析xml文档路径</td><td></td></tr>
    <tr><td class="paramdir"></td><td class="paramname"></td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6e119696c79c560c5d5f3eabf3e21a8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::saveXmlToBuffer </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>保存xml数据为内存 </p>
<dl class="section date"><dt>日期</dt><dd>2016/07/06 16:28 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">src[string]内存</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true，否则为false </dd></dl>
<dl class="section pre"><dt>前置条件</dt><dd>段落 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>评论 </dd></dl>
<dl class="section see"><dt>参见</dt><dd>参考内容 </dd></dl>
<dl class="test"><dt><b><a class="el" href="test.html#_test000022">测试:</a></b></dt><dd>测试 </dd></dl>

</div>
</div>
<a class="anchor" id="aecc581c8a0161089f1469b44a1424db9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::saveXmlToBufferXPath </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>buffStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>encoding</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>format</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>保存xml数据输出到buff内存中 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buffStr[string]输出的缓冲</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">encoding[char*]使用的字符编码,默认为空</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">format[int]0:不进行格式输出;1:格式输出,默认为1</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true,否则false; </dd></dl>

</div>
</div>
<a class="anchor" id="a18682a529eda2eb64b5907a91ef4cbde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::saveXmlToFile </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>encode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>保存xml数据为文件 </p>
<dl class="section date"><dt>日期</dt><dd>2016/07/06 16:28 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename[string]文件名字</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">encode[string]</td><td>编码 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true，否则为false </dd></dl>
<dl class="section pre"><dt>前置条件</dt><dd>段落 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>评论 </dd></dl>
<dl class="section see"><dt>参见</dt><dd>参考内容 </dd></dl>
<dl class="test"><dt><b><a class="el" href="test.html#_test000021">测试:</a></b></dt><dd>测试 </dd></dl>

</div>
</div>
<a class="anchor" id="a76d677383096c9a148929967bad4dd27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::saveXmlToFileXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fname</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>encoding</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>format</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>保存xml数据到文件中 </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fname[char*]文件名或url,为空时将保存到原来的文件中</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">encoding[char*]使用的字符编码,默认为空</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">format[int]0:不进行格式输出;1:格式输出,默认为1</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true,否则false; </dd></dl>

</div>
</div>
<a class="anchor" id="a4be83f9c21b3aadeb36a88a28c5e3df6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::setXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置XPATH </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>返回结果<ul>
<li>true:设置成功;</li>
<li>false:设置失败; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a24b3e5a366992b35bb49e9c338468ce0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::updateNodeByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面更新一个节点. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认更新第一个位置的节点,否则就插入指定的节点 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#a24b3e5a366992b35bb49e9c338468ce0">updateNodeByXPath</a>(<span class="stringliteral">&quot;head&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;hhhhh&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;hello&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeName[char*]节点名称.为空时保留原来的节点名称,否则使用nodeName覆盖旧名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeValue[char*]节点的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]nodeValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>- 更新节点成功返回true,否则返回false;<ul>
<li>若该节点名称不存在,则返回false; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a002afd7a9920042ab3297d9a99fa9f14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::updateNodeByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>nodeValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面更新一个节点. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47<ul>
<li>若该XPATH下有多个相同的节点名称,并且没有指定位置,那么将默认更新第一个位置的节点,否则就插入指定的节点 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#a24b3e5a366992b35bb49e9c338468ce0">updateNodeByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>,<span class="stringliteral">&quot;head&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;hhhhh&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head&gt;hello&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </li>
</ul>
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeName[char*]节点名称.为空时保留原来的节点名称,否则使用nodeName覆盖旧名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nodeValue[char*]节点的值.</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]nodeValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>- 更新节点成功返回true,否则返回false;<ul>
<li>若该节点名称不存在,则返回false; </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a12f8e0938dce911b64c332887e803d7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::updatePropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在当前XPATH下面更新一个节点的属性. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line">当前的XPATH是<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span></div><div class="line"><a class="code" href="classgpl_1_1xml.html#a12f8e0938dce911b64c332887e803d7d">updatePropertyByXPath</a>(<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hhhhh&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hello&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propValue[char*]属性的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]propValue的长度</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>更新成功返回true;否则返回false;若该属性名称不存在,则返回false; </dd></dl>

</div>
</div>
<a class="anchor" id="a47571922a9d10a6e9fb9713a8ede7fd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gpl::xml::updatePropertyByXPath </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>xpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>propValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>在指定的XPATH下面更新一个节点的属性. </p>
<dl class="section date"><dt>日期</dt><dd>2016/06/14 13:47 <div class="fragment"><div class="line"><a class="code" href="classgpl_1_1xml.html#a12f8e0938dce911b64c332887e803d7d">updatePropertyByXPath</a>(<span class="stringliteral">&quot;/EXAMPLE/head&quot;</span>,<span class="stringliteral">&quot;subhead&quot;</span>,<span class="stringliteral">&quot;hello&quot;</span>);</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hhhhh&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div><div class="line">结果就是:</div><div class="line">&lt;?<a class="code" href="classgpl_1_1xml.html#abfca0a27d3d13cf517461bec03e973d8">xml</a> version=<span class="stringliteral">&quot;1.0&quot;</span> &gt;&lt;EXAMPLE&gt;&lt;head subhead=<span class="stringliteral">&quot;hello&quot;</span>&gt;&lt;/head&gt;&lt;/EXAMPLE&gt;</div></div><!-- fragment --> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xpath[char*]XPATH的内容</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propName[char*]属性名称</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">propValue[char*]属性的值</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length[int]</td><td>propValue的长度 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>更新成功返回true;否则返回false;若该属性名称不存在,则返回false; </dd></dl>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a class="anchor" id="ac104bfabf19926674bb65c205f5e4480"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">LibXml* gpl::xml::m_xml</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>在文件 <a class="el" href="xml_8h_source.html">xml.h</a> 第 <a class="el" href="xml_8h_source.html#l00518">518</a> 行定义.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>inc/xml/<a class="el" href="xml_8h_source.html">xml.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
